var getJgxx = function (jgdm) {
    $.ajax({
        type: "POST",
        contentType: 'application/json',
        dataType: "json",
        url: "/dict/getjgxx",
        success: function (jsonData) {
            if (jsonData.code == 200) {
                var yyList = jsonData.yyTreeList;
                for(var i=0;i<yyList.length;i++){
                    var new_opt = new Option(yyList[i].name, yyList[i].id)
                    document.getElementById('yydm').add(new_opt);
                }
            } else {

            }
        }
    });
};

/**
 *
 * @param jgdm
 */
var getDicData = function (zydm,glnd) {
    var dicData = [];

    $.ajax({
        type: "POST",
        dataType: "json",
        async: false,
        url: "/hlht/dict/getAllDictData?zydm=" + zydm + "&glnd=" + glnd,
        success: function (jsonData) {
            dicData = jsonData.repData.list;
        }
    });
    return dicData;
};

/**
 * 加载下拉框数据
 */
function loadDropdownBox(douId,zydm,glnd) {
    var selectId = '#' + douId;
    var boxData = [];
    boxData = getDicData(zydm,glnd);
    for(var i=0;i<boxData.length;i++){
        $(selectId).append("<option value=" + boxData[i].zdm + ">" + boxData[i].zmc + "</option>");
    }
    // $(selectId).selectpicker('refresh');
    //     // $(selectId).selectpicker('render');
}



/**
 *渲染机构树下拉框
 */
var initJgTree = function(inputId,treeId,fldm) {
    var setting = {
        view: {
            selectedMulti: false,
            showIcon: false

        },
        data: {
            simpleData: {
                enable: true
            }
        },
        callback: {
            onClick: function(event, treeId, treeNode){
                $("#jgbm").val(treeNode.id);
                if(treeNode.oldname==null){
                    $("#"+inputId).val(treeNode.name);
                }else{
                    $("#"+inputId).val(treeNode.oldname);
                }
                $("#jglb").val(treeNode.jglb);
                document.getElementById(treeId).style.display ='none';
            }
        }
    };
    $.fn.zTree.init($("#"+treeId), setting, [{}]);
    var data = JSON.stringify({
        "fldm" : fldm
    });
    $.ajax({
        type: "POST",
        url: "/sjzc/ywzyml/querySjjflList",
        contentType:'application/json',
        async: false,
        data: data,
        success:function(jsonData){
            $.fn.zTree.init($("#"+treeId), setting, jsonData.sjjflTreeList);
            var inputObj = document.getElementById(inputId);
            var treeObj = document.getElementById(treeId);
            inputObj.onclick=function(event){
                var p = getPos(inputObj);
                treeObj.style.cssText =
                    'left:' + p.x + 'px;' +
                    'top:' + (p.y + inputObj.offsetHeight) + 'px;' +
                    'position:absolute;' +
                    'z-index:1010;' +
                    'background-color:white;' +
                    'width: 300px;' +
                    'height: 300px;' +
                    'overflow: auto;' +
                    'border:1px solid #e5e6e7;';
                treeObj.style.display='block';
                stopBubble(event);
                document.onclick=function(){
                    treeObj.style.display='none';
                    document.onclick=null;
                }
            }
            inputObj.onchange=function(event){
                if($("#"+inputId).val() == ""){
                    $("#flbm").val("");
                    $("#fljb").val("");
                }
            }
            treeObj.onclick=function(event){
                stopBubble(event);
            }
            fuzzySearch(treeId, '#'+inputId, null, true); //初始化模糊搜索方法
        },
        error:function(){
            console.log('数据加载失败');
        }
    });
}

/**
 * 阻止冒泡函数
 * @param e
 */
var stopBubble = function(e){
    if(e && e.stopPropagation){
        e.stopPropagation();  //w3c
    }else{
        window.event.cancelBubble=true; //IE
    }
}

/**
 * 获取对象坐标
 * @param ipt
 * @returns {{x: number, y: number}}
 */
function getPos(ipt) {
    var p = { x: 0, y: 0 };
    do {
        p.x += ipt.offsetLeft;
        p.y += ipt.offsetTop;
    }
    while (ipt = ipt.offsetParent);
    return p
}

/**
 * 初始化日期框
 */
function initDatePlugins(){
    $(".date-plugins").datepicker({
        language:"zh-CN",
        todayHighlight:true,
        // todayBtn:true,
        clearBtn:true,
        autoclose:true,
        // toggleActive:true,
        keyboardNavigation:true
    });
}

/**
 * 转换日期格式
 * @param time
 * @returns {string}
 */
function changeDateFormat(time) {
    var d = new Date(time);
    var year = d.getFullYear();       //年
    var month = d.getMonth() + 1;     //月
    var day = d.getDate();            //日
    var clock = year + "-";
    if (month < 10)
        clock += "0";
    clock += month + "-";
    if (day < 10)
        clock += "0";
    clock += day + " ";
    return (clock);
}

function paramsMatter(value,row,index) {
    if(value==null ||value.trim() =="" || value != null && value.toUpperCase() == "NULL"){
        value = "-";
    }
    var span=document.createElement('span');
    span.setAttribute('title',value);
    span.innerHTML = value;
    return span.outerHTML;
}

function formatTableUnit(value, row, index) {
    return {
        css: {
            "white-space": 'nowrap',
            "text-overflow": 'ellipsis',
            "overflow": 'hidden'
        }
    }
}

function formatNumber(num, row, index){
    if (num) {
        //将num中的$,去掉，将num变成一个纯粹的数据格式字符串
        num = num.toString().replace(/\$|\,/g, '');
        //如果num不是数字，则将num置0，并返回
        if (typeof num == 'undefined' || '' == num || isNaN(num)) {
            return '0';
        }
        //如果num是负数，则获取她的符号
        var sign = num.indexOf("-") > 0 ? '-' : '';
        //如果存在小数点，则获取数字的小数部分
        var cents = num.indexOf(".") > 0 ? num.substr(num.indexOf(".")) : '';
        cents = cents.length > 1 ? cents : '';//注意：这里如果是使用change方法不断的调用，小数是输入不了的
        //获取数字的整数数部分
        num = num.indexOf(".") > 0 ? num.substring(0, (num.indexOf("."))) : num;
        //如果没有小数点，整数部分不能以0开头
        if ('' == cents) {
            if (num.length > 1 && '0' == num.substr(0, 1)) {
                return '0';
            }
        }
        //如果有小数点，且整数的部分的长度大于1，则整数部分不能以0开头
        else {
            if (num.length > 1 && '0' == num.substr(0, 1)) {
                return '0';
            }
        }
        //针对整数部分进行格式化处理，这是此方法的核心，也是稍难理解的一个地方，逆向的来思考或者采用简单的事例来实现就容易多了
        /*
          也可以这样想象，现在有一串数字字符串在你面前，如果让你给他家千分位的逗号的话，你是怎么来思考和操作的?
          字符串长度为0/1/2/3时都不用添加
          字符串长度大于3的时候，从右往左数，有三位字符就加一个逗号，然后继续往前数，直到不到往前数少于三位字符为止
         */
        for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++) {
            num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3));
        }
        //将数据（符号、整数部分、小数部分）整体组合返回
        return (sign + num + cents);
    } else {
        return '0';
    }
}

function GetRequest() {
    var url = location.search; //获取url中"?"符后的字串
    var theRequest = new Object();
    if (url.indexOf("?") != -1) {
        var str = url.substr(1);
        strs = str.split("&");
        for(var i = 0; i < strs.length; i ++) {
            theRequest[strs[i].split("=")[0]]=decodeURI(strs[i].split("=")[1]);
        }
    }
    return theRequest;
}

function linkToPageByMcode(mcode){
    var target = parent.document.getElementById(mcode);
    target.click();
}